草庐IT

option 43

全部标签

javascript - 如何在 Javascript 中处理 ctrl+arrow?

我在尝试捕捉键盘快捷键时注意到一个问题:CTRL+箭头。我已经处理了keydown事件。现在,当我按住CTRL键时,会触发一次keydown事件。如果我按住箭头(所以现在我按住CTRL+箭头)它不会触发另一个事件。是否出于任何原因被禁止?我想几年前我已经在Opera中遇到过这个问题,并且在浏览器中有一个选项。我的结果:按住CTRL,按下箭头--CTRL触发事件,箭头不触发事件同时按下CTRL+一个箭头--触发一个事件,但仅使用键码CTRL。按住CTRL,按一个字母(例如S)——按预期工作按CTRL+字母(例如S)——按预期工作(在Chrome和Firefox中的结果是相同的。上述行为是

javascript - 在 ui-grid editableCellTemplate [ng-grid 3.x] 中使用 ng-option 下拉菜单

我正在使用ng-grid的新3.0版本ui-grid在我的应用程序中制作网格。我想要做的是将我表格中的一个可编辑单元格设为ng-options下拉列表中填充了使用Angular工厂检索的数据。我正在尝试使用editableCellTemplate来做到这一点ui-grid的特性。下面是一些示例代码:HTML:Controller:$scope.gridOptions={enableSorting:true,enableFiltering:true,enableCellEditOnFocus:true,columnDefs:[{field:'name',sort:{direction:'

javascript - Karma+Mocha+React 无法将 Symbol 值转换为字符串

我将webpack+babel用于React+Redux应用程序,将Mocha+Karma用于测试。redux测试用例得到正确执行。但是,当我尝试使用react-addons-test-utils进行DOM测试并使用Karma运行它时,出现此错误未捕获的类型错误:无法将符号值转换为字符串在http://localhost:9876/karma.js:339为了正确调试它,我在karmalib文件中放置了几个记录器(我知道我不应该有)并得到了这个KarmaErrorforReactDOMtesting但是,当我不使用KarmaJS并只是尝试运行测试时,它似乎很好。这是我的karma.co

javascript - Angular2+ 如何显示日期的毫秒数?

我使用自定义管道来显示时间,现在我尝试更改它以便我也可以显示毫秒:{{log.LogDate|jsonDate|date:'dd.MM.yyyy HH:mm:ss.sss'}}管道本身:if(typeof(value)==='string'){if(value.includes('/Date('))returnnewDate(parseInt(value.substr(6)));}returnvalue;但是,毫秒具有秒的值:log.LogDate:2017-05-08T15:45:38.2527293+02:00Outputfrompipe:08.05.201715:45:

javascript - 带有百分比指示器的 Angular 2+ 应用程序预加载器

有人知道用百分比指示器(类似于Gmail的加载屏幕)实现Angular2+预加载器的好的解决方案吗?我知道通常的方法是添加在我们里面并设置样式,甚至可以添加CSS动画,应用加载后它将被应用内容替换。但是...我实际上正在寻找的是显示动画启动画面(SVG或其他任何东西),动画完成后应该出现加载栏并显示进度状态。一开始我在考虑单独的splash组件,它将只是组件急切加载并从那里加载所有其他模块但是如果我将该组件映射到'/'如何首先在任何其他路由上显示它(开始观点)。此外,这意味着Angular主包必须已经加载,所以这不是一个好的选择。很可能这个问题过于宽泛,不适合StackOverflow

javascript - Angular : Select doesn't change selected option on change of bound scope variable

我有一个选择控件。它的选项是从作用域的对象数组动态生成的。在应用程序初始化时,我想通过更改作用域上的绑定(bind)变量来选择特定选项。当select的ng-option返回完整对象时,它不起作用。但是,它在select的ng-option返回字符串时有效。是Angular错误还是我做错了什么?HTML:Doesn'tworkwhenselect'sngModelvalueisobject:{{valueObject|json}}Workswhenselect'sngModelvalueisstring:{{valueString|json}}JS:functionselectCtrl

javascript - JS Promises/A+ 的 'catch' 方法名称是否无效,因为它是 JS 关键字?

最近开始在一个项目中使用JSPromises。我注意到每次我使用.catch我的JSlinter提示。它确实运行并做了它应该做的事情,但我查找了ECMAScriptspec它看起来真的是对的:因为catchisakeyword它不能用作标识符。据我了解,方法名称是标识符,因此这是无效的:Promise.reject("Duh").catch(alert);应该是这样的:Promise.reject("Duh")['catch'](alert);我错过了什么? 最佳答案 WhatamImissing?属性名称不是标识符,它可以使用任何

javascript - Jasmine + AngularJS : How to test $rootScope. $broadcast 被调用参数?

我正在尝试编写一个单元测试来验证是否调用了$rootScope.$broadcast('myApiPlay',{action:'play'});。这是myapi.jsangular.module('myApp').factory('MyApi',function($rootScope){varapi={};api.play=function(){$rootScope.$broadcast('myApiPlay',{action:'play'});}returnapi;});这是我的单元测试:describe('Service:MyApi',function(){//loadtheser

javascript - 如何按键对ng-options中的数组进行排序?

有这样的数组:month:Array[13]0:"M"1:"January"2:"February"3:"March"4:"April"5:"May"6:"June"7:"July"8:"August"9:"September"10:"October"11:"November"12:"December"我愿意:ng-options="keyasvaluefor(key,value)indata.month|orderBy:key"但我得到未排序的选择列表。 最佳答案 要使用过滤器进行跟踪,请使用trackby。标记ng-option

javascript - 为什么 `{} + []` 在 Javascript 中返回与 `a = {} + []` 不同的结果?

(至少)在FirefoxWeb控制台和JSBin中,我得到>{}+[]0>a={}+[]"[objectObject]"Node.js在这两种情况下都返回"[objectObject]"。根据规范,哪种行为是正确的?如果是第一个,为什么? 最佳答案 在浏览器控制台上,当它前面没有=(或其他一些更改其上下文的代码)时,{}被视为block,不是对象字面量。由于该block是空的,所以它什么也不做,只剩下+[]。一元加运算符将数组转换为数字,即0。 关于javascript-为什么`{}+[